home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1998 July / EnigmA AMIGA RUN 29 (1998)(G.R. Edizioni)(IT)[!][issue 1998-07 & 08].iso / earkit / browser / ibrowsescripts / rexx / newmail.ibrx < prev    next >
Text File  |  1998-05-24  |  4KB  |  143 lines

  1. /*Read Yams newmail whith IBrowse
  2. fixa så man kan välja bort requestern vid autoyam (ingen ibrowse startad)
  3. eller kanske starta ib ??
  4.  */
  5. OPTIONS RESULTS
  6. call addlib('libs:rexxreqtools.library',0,-30)
  7.  
  8.  
  9. NL='0a'x        /* newline */
  10. NLNL='0a0a'x        /* 2 newlines  */
  11.  
  12. fileinc='<B><IMG SRC="mailfile.iff" ALT="File/s included!" > </B>'
  13. repl='<B><IMG SRC="mailrep.iff" ALT="Replyed!" > </B>'
  14. new='<B><IMG SRC="mailnew.iff" ALT="new" > </B>'
  15. fresh='<B><IMG SRC="mailfresh.iff" ALT="fresh" > </B>'
  16.  
  17. title='Newmail by sorenf@hem1.passagen.se 1998'
  18. what_but='_IBrowse|_Yam|Cancel'
  19. tags='rt_pubscrname=IBROWSESCREEN'  /* Change here the name of the screen IBROWSE runs */
  20.  
  21. IF ~SHOW('Ports','YAM') THEN DO
  22.     ADDRESS 'COMMAND'
  23.     'Run >NIL: YAM:YAM HIDE'
  24.     'SYS:RexxC/WaitForPort YAM'
  25. END
  26.  
  27. IF EXISTS('sys:c/play16') THEN DO
  28.     IF EXISTS('Ibrowse:rexx/mailsound.wav') THEN DO
  29.     ADDRESS 'COMMAND'
  30.     'Run >NIL: play16 >NIL: Ibrowse:rexx/mailsound.wav'
  31.     END
  32. END
  33.     where_txt='There is mail for You! Select viewer.'
  34.     sel=rtezrequest(where_txt,what_but,title,'rtez_defaultresponse=1') 
  35.     if sel=0 then Exit
  36.     if sel=2 then do
  37.         ADDRESS 'YAM'
  38.         show
  39.         setfolder 0
  40.         exit
  41.     end
  42. IF ~SHOW('Ports','IBROWSE') THEN DO
  43.     ADDRESS 'COMMAND'
  44.     'Run >NIL: IBROWSE:IBrowse'
  45.     'SYS:RexxC/WaitForPort IBROWSE'
  46. END
  47.  
  48. IF SHOW('Ports','IBROWSE') THEN DO
  49.     
  50.     ADDRESS 'COMMAND'
  51.     'copy IBrowse:Rexx/mailfile.iff ram:t/'
  52.     'copy IBrowse:Rexx/mailrep.iff ram:t/'
  53.     'copy IBrowse:Rexx/mailnew.iff ram:t/'
  54.     'copy IBrowse:Rexx/mailfresh.iff ram:t/'
  55.     IF EXISTS('IBrowse:Rexx/mailback.iff') THEN 'copy IBrowse:Rexx/mailback.iff ram:t/ >NIL:'
  56.  
  57.     ADDRESS YAM
  58.     SetFolder 0
  59.  
  60.     GetFolderinfo MAX; max=RESULT
  61.     a=0
  62.     app=''
  63.     linkpage='<HEAD><TITLE>NewMail by Sören Forsberg</TITLE></HEAD><BODY><BODY BGCOLOR="#F0F0F0"><BODY BACKGROUND="mailback.iff"></BODY><PRE><BIG> Here are your new mail.</BIG>'||NL
  64.     DO WHILE a<max
  65.         setmail a
  66.         getmailinfo STA
  67.         status=result
  68.         IF status='U'|status="N" THEN DO
  69.             getmailinfo FRO
  70.             from=result
  71.             getmailinfo SUB
  72.             subject=result
  73.             subject=LEFT(subject,30)
  74.             getmailinfo FIL
  75.             file=result
  76.             namepos=pos('<',from)
  77.             name=LEFT(from,namepos-1)
  78.             name=LEFT(name,30)
  79.             lenfrom=LENGTH(from)
  80.             email=SUBSTR(from,namepos+1,lenfrom-namepos-1)
  81.             mailto='<A HREF="mailto:'||email||'">'||email||'</A>'||NL
  82.             titel='From: '||name||'Subject: '||subject
  83.     
  84.             open('inputfile',file,'R')
  85.             b=1
  86.             list=''
  87.             DO FOREVER
  88.                 line=readln('inputfile')
  89.                 appex=pos('application/octet-stream',line)
  90.                 IF appex~=0 then BREAK
  91.                 list=list||line||NL
  92.                 IF EOF('inputfile') THEN BREAK
  93.             END
  94.             close('inputfile')    
  95.             linkpage=linkpage||'<A HREF="file://localhost/RAM:T/newmail'||a||'.html">'||titel||'</A>'
  96.  
  97.             if status='N' then titel=titel||fresh
  98.             if status='U' then titel=titel||new
  99.             if status='N' then linkpage=linkpage||fresh
  100.             if status='U' then linkpage=linkpage||new
  101.             if appex~=0 then titel=titel||fileinc
  102.             if appex~=0 then linkpage=linkpage||fileinc
  103.             linkpage=linkpage||NL 
  104.  
  105.             len=length(list)
  106.             texttype='text/plain'
  107.                   htmlpos=pos('text/html',list)
  108.             IF htmlpos~=0 THEN texttype='text/html'
  109.             textpos=pos(texttype,list)
  110.             IF textpos=0 THEN textpos=pos('X-UIDL:',list)
  111.             startpos=pos(NLNL,list,textpos)
  112.             out =substr(list,startpos,len-startpos)
  113.             endpos=pos('boundary=',list)
  114.         
  115.             if endpos~=0 THEN DO
  116.                 outlen=LENGTH(out)
  117.                 boundary=SUBSTR(list,endpos+10,24)
  118.                 endpos=pos(boundary,out)
  119.                 endpos=lastpos(NL,out,endpos)
  120.                 out=LEFT(out,endpos)
  121.             END
  122.             open('outputfile','RAM:T/newmail'a'.html','W')
  123.             line=writeln('outputfile','<BODY><BODY BGCOLOR="#F0F0F0"></BODY><PRE>'||titel)
  124.             line=writeln('outputfile','Mail to: '||mailto)
  125.             IF htmlpos~=0 THEN line=writeln('outputfile','</PRE>')
  126.             line=writeln('outputfile',out)
  127.             IF htmlpos=0 THEN line=writeln('outputfile','</PRE>')
  128.             close('outputfile')
  129.         END    
  130.         a=a+1
  131.  
  132.     END
  133.  
  134.     linkpage=linkpage||'</PRE>'
  135.     open('outputfile','RAM:T/newmail.html','W')
  136.     line=writeln('outputfile',linkpage)
  137.     close('outputfile')
  138.     ADDRESS 'IBROWSE'
  139.     GOTOURL URL 'file://localhost/RAM:T/newmail.html'
  140. END
  141.  
  142. exit
  143.